package com.ncu.spring.aop;

/**
 * 因为切面类可能有很多，所以该类中Clazz属性的值不是固定的，所以每次都要创建新对象。
 */
public class PrototypeAspectInstanceFactory implements AspectInstanceFactory{

    private Class<?> clazz;

    public PrototypeAspectInstanceFactory(Class<?> clazz) {
        this.clazz = clazz;
    }

    @Override
    public Object getAspectInstance() {
        try {
            return clazz.newInstance();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        return null;
    }
}
